= gitlab_ui_form_for @group, html: { multipart: true, class: 'gl-show-field-errors js-general-permissions-form' }, authenticity_token: true do |f|
  %input{ type: 'hidden', name: 'update_section', value: 'js-permissions-settings' }
  = form_errors(@group)

  %fieldset
    %h5= _('Permissions')
    - if @group.root?
      .form-group.gl-mb-3
        = f.gitlab_ui_checkbox_component :prevent_sharing_groups_outside_hierarchy,
            s_('GroupSettings|Members cannot invite groups outside of %{group} and its subgroups').html_safe % { group: link_to_group(@group) },
            help_text: prevent_sharing_groups_outside_hierarchy_help_text(@group),
            checkbox_options: { disabled: !can_change_prevent_sharing_groups_outside_hierarchy?(@group) }

    .form-group.gl-mb-3
      = f.gitlab_ui_checkbox_component :share_with_group_lock,
          s_('GroupSettings|Projects in %{group} cannot be shared with other groups').html_safe % { group: link_to_group(@group) },
          checkbox_options: { disabled: !can_change_share_with_group_lock?(@group) },
          help_text: share_with_group_lock_help_text(@group)

    .form-group.gl-mb-3
      = f.gitlab_ui_checkbox_component :emails_disabled,
          s_('GroupSettings|Email notifications are disabled'),
          checkbox_options: { checked: @group.emails_disabled?, disabled: !can_disable_group_emails?(@group) },
          help_text: s_('GroupSettings|Overrides user notification preferences for all members of the group, subgroups, and projects.')

    .form-group.gl-mb-3
      = f.gitlab_ui_checkbox_component :mentions_disabled,
          s_('GroupSettings|Group mentions are disabled'),
          checkbox_options: { checked: @group.mentions_disabled? },
          help_text: s_('GroupSettings|Group members are not notified if the group is mentioned.')

    = render 'groups/settings/resource_access_token_creation', f: f, group: @group
    = render 'groups/settings/ip_restriction_registration_features_cta', f: f
    = render_if_exists 'groups/settings/ip_restriction', f: f, group: @group
    = render_if_exists 'groups/settings/allowed_email_domain', f: f, group: @group
    - if @group.licensed_feature_available?(:group_wikis)
      = render_if_exists 'groups/settings/wiki', f: f, group: @group
    = render 'groups/settings/lfs', f: f
    = render_if_exists 'groups/settings/code_suggestions', f: f, group: @group
    = render_if_exists 'groups/settings/ai_related_settings', f: f, group: @group
    = render_if_exists 'groups/settings/ai_third_party_settings', f: f, group: @group
    = render 'groups/settings/git_access_protocols', f: f, group: @group
    = render 'groups/settings/project_creation_level', f: f, group: @group
    = render 'groups/settings/subgroup_creation_level', f: f, group: @group
    = render_if_exists 'groups/settings/prevent_forking', f: f, group: @group
    = render 'groups/settings/two_factor_auth', f: f, group: @group
    = render_if_exists 'groups/personal_access_token_expiration_policy', f: f, group: @group
    = render 'groups/settings/membership', f: f, group: @group

    %h5= _('Customer relations')
    .form-group.gl-mb-3
      = f.gitlab_ui_checkbox_component :crm_enabled,
          s_('GroupSettings|Customer relations is enabled'),
          checkbox_options: { checked: @group.crm_enabled? },
          help_text: s_('GroupSettings|Organizations and contacts can be created and associated with issues.')

  = f.submit _('Save changes'), pajamas_button: true, class: 'gl-mt-3 js-dirty-submit', data: { qa_selector: 'save_permissions_changes_button' }
